A majority of computerized activities ranging from performing searches to analyzing information include data retrieval from a variety of data sources and processing of the retrieved data. Data retrieval is typically performed by generating queries based on a user's request at a client device or server and submitting them to one or more relevant data sources.
In a networked environment, servers managing data sources may receive thousands—if not millions—of queries every day, retrieve the results, and provide them to requesting applications. Delays due to network conditions, interactions of multiple computing devices, etc. are a common occurrence in networked communications. Thus, the experience of visualizing data may be often hindered by slow query response times when a user activates a data visualization application (e.g. a spreadsheet application), which retrieves data from external data source(s).
Furthermore, when a user connects to a new data source (e.g. a database), visualizations of the data contained therein typically have to be structured anew. For example, a user connecting to a database via a spreadsheet application may be provided a list of dimensions and measures (or just columns) and a blank canvas area on which to arrange them. Users without pre-existing knowledge of the way the data is organized at the data source typically explore and sift through all of the irrelevant parts of the data to find a small set of information that is relevant to them.